/**
 * @file dot_writer.h
 * @brief Function definitions for printing modules to dot format
 * @author Scott Moyers 2008
 */

#ifndef MY_DOT_WRITER_H
#define MY_DOT_WRITER_H

#include "module.h"

#include <stdio.h>

/**
 * @enum DotSwitches enumeration used for controlling how
 * the output circuit is drawn
 */
enum DotSwitches {
	SIGNALS = 0x1
};

/**
 * prints out a graph containing all the nodes from the input list
 * to the output file pointer
 * @param fp output file pointer
 * @param m a gate with inputs and outputs that bound the graph
 * @param sw DotSwitches to control the output of the dot printer
 */
void print_module_dot(FILE *fp, struct Module *m, enum DotSwitches sw);

#endif
